Error correction coding across multiple channels in content distribution systems

ABSTRACT

Error correction coding across multiple channels is provided in multi-channel transmission systems. Specifically, redundancy is provided by selecting a portion of original data from each of a plurality of original channels, performing at least one encoding operation using the portions of original data to produce at least one portion of redundancy data, including the portion of redundancy data in at least one redundancy channel, and transmitting the redundancy channel along with the original channels. Error correction is achieved by receiving at least one redundancy channel and a plurality of original channels, selecting a portion of redundancy data from the redundancy channel, selecting a portion of original data from each of the original channels, and performing at least one decoding operation using the portion of redundancy data and the portions of original data to correct at least one error in the portions of original data.

BACKGROUND OF THE INVENTION

The present invention relates generally to error correction coding, andmore particularly to a method and circuitry for error correction codingacross multiple channels.

Traditional digital cable, satellite, and terrestrial distributionsystems provide content streams (e.g., audio, video, data) over a largenumber of RF channels. Each RF channel may contain multiple contentstreams with each content stream typically delivered through a single RFchannel. In conventional content distribution systems, each RF channelrequires its own analog tuner. At the customer premises end, an end userselects a content stream via a remote control or other device. To selecta particular content stream, an analog tuner is set to output only theRF channel containing the content stream of interest. A channeldemodulator demodulates digital content from the tuner, and the contentstream is then sent to an end user unit, which may a television, VCR, orcomputer.

FIG. 1 is a block diagram of a traditional content distribution system100. The content distribution system 100 includes a content head end(CHE) 110 from which transmission originates, a medium 112 though whichthe transmission is sent, and customer premises equipment (CPE) 115where the transmission is received. In a broadcast situation, more thanone CPE 115 would be receiving the transmission. The CHE 110 includes ncontent stream blocks 118 which provide n streams of content to ncorresponding RF channel blocks 120. The RF channel blocks 120 performtransmit functions such as modulation and produce n RF channels. The nRF channels form a multi-channel RF signal that is transferred throughthe medium 112.

Although the content distribution system 100 can include more than oneCPE block 115, one CPE block 115 is expanded to show its majorsubsystems. The CPE 115 includes a tuner block 122 which receives one ofthe particular RF channels by selecting the RF channel and tuning to theRF frequency associated with that RF channel. The tuner block 122provides the selected channel to a demodulation block 125 thatdemodulates the selected channel. The demodulation block 125 provides ademodulated channel signal to the end user 128 associated with the CPE115.

A significant problem that plagues traditional content distributionsystems is frequency-related interference. A myriad of possible sourcesmay produce frequency-related interference, which can disrupt orcompletely preclude reception of particular RF channel(s). These sourcescan be internal to the system used to receive the desired signals. Forexample, these can be signal spectrum spurs generated by hardware withinthe system. These sources can also be external to the system and canthus change with the user's physical environment. Given the wide varietyof possible sources of frequency-related interference in any real worldenvironment, it may be extremely difficult to predict which RF channelwill be disrupted and at what time the disruption will occur.

However, traditional content distribution systems, such as system 100,employ conventional in-channel error correction coding techniques tocombat interference associated with transmission through the medium 112.Such techniques carry out error encoding and decoding for each channelindependently of other channels. In the traditional content distributionsystem 100, in-channel encoding is performed in the RF channel blocks120, and in-channel decoding is performed in the demodulation block 125.Accordingly, encoding performed in one RF channel block 120 is notcorrelated to encoding performed in another RF channel block 120.Similarly, decoding performed in the demodulation block 125 when aparticular RF channel is selected does not correlate with decodingperformed when another RF channel is selected.

Conventional in-channel error correction coding methods are only capableof correcting errors up to a certain level of signal degradation of theRF channel being received. If the conditions are so adverse that the RFchannel is degraded beyond that level, the error correction methodsimply cannot recover the desired signal. This situation is played outwhen frequency-related interference precludes reception of a particularRF channel in a traditional content distribution system. All of thepower of the interfering source is concentrated in one or more narrowbands of frequency. When a user decides to “tune in” to a particular RFchannel that is sufficiently close to such a narrow frequency band ofthe interference, the concentrated power of the interfering sourcesignificantly impacts reception of the desired RF channel. The RFchannel can easily be degraded beyond the correction ability of anyreasonably designed in-channel error correction method implemented forthe particular RF channel. Thus, the RF channel can be completely“knocked out.”

To compound the problem, any practical solution to frequency-relatedinterference must address the difficult issue of backward compatibilitywith existing equipment. Many homes and businesses have alreadyinstalled expensive equipment designed for traditional contentdistribution systems based on individual RF channels. Any new systemthat requires replacement or retooling of the immense quantity of suchexisting equipment currently in service is likely to waste resources andfaces tremendous difficulty in being introduced into the market. Thus,the problem of frequency-related interference requires a solution thatretains compatibility with equipment already in place based on thetraditional structure of individual RF channels.

BRIEF SUMMARY OF THE INVENTION

Error correction coding across multiple channels is provided inmulti-channel transmission systems. Specifically, redundancy is providedby selecting a portion of original data from each of a plurality oforiginal channels, performing at least one encoding operation using theportions of original data to produce at least one portion of redundancydata, including the portion of redundancy data in at least oneredundancy channel, and transmitting the redundancy channel along withthe original channels. Error correction is achieved by receiving atleast one redundancy channel and a plurality of original channels,selecting a portion of redundancy data from the redundancy channel,selecting a portion of original data from each of the original channels,and performing at least one decoding operation using the portion ofredundancy data and the portions of original data to correct at leastone error in the portions of original data.

The encoding and decoding operations can correspond to a parity bitcalculation, a block code such as a Reed-Solomon code, or others. In oneembodiment, each portion of original data consists of a bit. In anotherembodiment, each portion of original data consists of a non-binarysymbol.

In yet another embodiment, an adaptively controlled level of redundancyis used, the level of redundancy being adaptively controlled accordingto at least one measure of error-proneness associated with the originalchannels.

The invention will be better understood by reference to the followingdescription in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a traditional content distribution system;

FIG. 2 is a block diagram of a content distribution system, withemphasis on details of a content head end in accordance with oneembodiment of the present invention;

FIG. 3 illustrates cross-channel error correction encoding in accordancewith one embodiment of the present invention;

FIG. 4 is a block diagram of a content distribution system, withemphasis on details of a new customer premises equipment (CPE) inaccordance with one embodiment of the present invention;

FIG. 5 is a block diagram of a particular implementation of themulti-channel demodulation block, cross-channel error correctiondecoding block, and program selection block; and

FIG. 6 illustrates cross-channel error correction decoding in accordancewith one embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Overview

FIG. 2 is a block diagram of a content distribution system 200, withemphasis on details of a content head end (CHE) 210 in accordance withone embodiment of the present invention. Like the traditional contentdistribution system 100, the content distribution system 200 is capableof supporting n RF channels of transmission and includes CHE 210 fromwhich transmission originates, a medium 212 though which thetransmission is sent, and customer premises equipment (CPE) 215 and 218where the transmission is received and provided to end users 230.However, unlike the traditional content distribution system 100, thecontent distribution system 200 supports x additional RF channel(s)which contain redundancy data produced by error correction codingperformed across the original n channels. Each of the numbers n and x isa positive integer that can range from one to an arbitrary value,depending on implementation. CPE 215 is able to use the redundancy datain the x additional RF channel(s) to perform cross-channel errorcorrection.

For clarity of illustration, each content stream described hereincorresponds to an RF channel. However, the present invention is notlimited to systems where a one-to-one correspondence exists between thecontent streams and the RF channels. The present invention is alsoapplicable in situations where one RF channel carries one or morecontent stream, as well as in situations where multiple RF channels incombination can carry a single content stream. Content streams containinformation that can be accessed or used by the end user(s).

Content Head End

The CHE 210 includes n content stream blocks 220 which provide theoriginal n streams of content to n corresponding RF channel blocks 222.In addition, the CHE 210 includes x redundancy data blocks 225, eachproviding redundancy data to a corresponding RF channel block 228. Theredundancy data is generated by cross-channel error correction encoding,which is discussed in more detail below. Like the RF channel blocks 222,the RF channel blocks 228 performs transmit functions such asmodulation.

In addition to modulation, the RF channel blocks 222 and the RF channelblocks 228 may perform encoding functions associated with conventionalin-channel error correction coding. As does the traditional contentdistribution system 100, the content distribution system 200 likelyemploys some form of in-channel error correction coding. As discussedabove, in-channel error correction coding involves encoding and decodingfor each channel that is performed independently of other, channels.Here, in-channel encoding is performed in the RF channel blocks 222.Accordingly, encoding performed in one RF channel block 222 or 228 isnot correlated to encoding performed in another RF channel block 222 or228.

The output of the RF channel blocks 222 are the RF channels 1 through n,which carry content. The output of the RF channel blocks 228 are the RFchannels n+1 through n+x, which carry data for error correction acrossthe original channels 1 through n. The RF channels 1 through n and theRF channels n+1 through n+x occupy different RF frequencies and aretransferred through the medium 212.

By simply adding the RF channels n+1 through n+x to carry cross-channelerror correction data and leaving unchanged the structure of theoriginal channels 1 through n, backward compatibility with existingequipment designed for traditional content distribution systems isachieved. The CHE 210 can broadcast signals that can be received by bothnew and old equipment, such as new CPE 215 and old CPE 218, providingcontent to different end users 230. To illustrate this, the figure showsmultiple CPE blocks, some being old CPE 215, and some being new CPE 218.The end users are designated 230. New receive equipment, such as CPE215, capable of processing cross-channel error correction, can receivethe RF channels 1 through n as well as the RF channels n+1 through n+xtransmitted by the cable head end 210. The new receive equipment wouldbe able to take advantage of the benefits of cross-channel errorcorrection supported by the RF channels n+1 through n+x. Old receiveequipment, such as CPE 218, need not be replaced and can continue toreceive the RF channels 1 through n transmitted by the cable head end210.

In other words, users who do not want or need the new feature ofcross-channel error correction do not have to modify their existingequipment to continue to receive signals from the CHE 210. Since the newRF channels n+1 through n+x are separate channels, such existingequipment can simply ignore the new RF channels n+1 through n+x. Thus,the CHE 210 can provide cross-channel error correction as a new featurewithout the need to replace all existing receive equipment that isalready in service.

Cross-Channel Error Correction Encoding

FIG. 3 illustrates cross-channel error correction encoding in accordancewith one embodiment of the present invention. This encoding processgenerates the redundancy data provided by the redundancy data blocks225. Each of the n original streams of content provided by the n contentstream blocks 220 is represented as a data sequence 232. Each datasequence 232 is made up of individual symbols 235. Each symbol 235 canbe a bit, which represents a binary alphabet, but the symbol 235 neednot be limited to the binary alphabet. It can also be selected from analphabet having more than two members. For example, the symbol 235 cancorrespond to a byte of information, in which case the symbol 235 isselected from an alphabet having 28, or 256, members. Furthermore, evenif each sequence 232 is physically embodied as a collection of bits, thesymbol 235 can still be represented as being selected from an alphabethaving more than two members. For example, the sequence 232 may bephysically stored in memory (not shown) as bits of information. However,for purposes of generating error correction data, every 8 bits ofinformation may be translated into a byte-size symbol.

The data sequences 232, each corresponding to one of the originalcontent streams 1 through n, are aligned. One symbol 238 is sampled fromeach data sequence 232 according to the alignment. That is, each symbol238 is sampled at the same position, as defined by the alignment, fromone of the data sequences 232. Since each symbol 238 is sampled from adifferent one of n data sequence 232, such sampling will produce nsampled symbols 238.

Cross-channel error correction encoding is performed on the n sampledsymbols 238 to produce one or more error correction symbols 240. Thisencoding can be the encoding technique associated with any one of a widerange of different error correction coding methods, such as a simpleparity bit calculation, a block code such as Reed-Solomon coding, orothers. For purposes of illustration, a simple parity bit calculationfor encoding is described below. In this example, each symbol isselected from a binary alphabet. That is, each symbol is a bit having avalue of either “1” or “0.” The n sampled symbols 238 from the originaldata streams 1 through n are represented as B₁, B₂, . . . , B_(n). Theerror correction symbol 240 is represented as B_(r) and is generatedaccording to the equation:B_(r)=B₁ ⊕ B₂ ⊕ . . . ⊕ B_(n)where the operator ⊕ represents the “XOR” operation. In this manner, then sampled symbols 238 from the n channels are used to generate the errorcorrection symbol 240.

The process of sampling n symbols 238 from each of the original contentstreams and performing error correction encoding on the n symbols 238according the above equation to generate one error correction symbol 240is repeated. The newly generated error correction symbols 240 areconcatenated to form a redundancy data sequence 242, which correspondsto redundancy data provided by one of the redundancy data blocks 225 toan associated RF channel block 228. The output of the RF channel block228 is transmitted as an additional RF channel, along with RF channels 1through n, through the medium 112.

Note that cross-channel error correction encoding can be performed asthe symbols of the n original channels are made available.Alternatively, error correction encoding can be performed all at once,if all of the symbols of an entire portion of transmission of the noriginal channels are available at one time. Depending on theimplementation, different techniques can be used for carrying outcross-channel error correction encoding.

Cross-channel error correction encoding can be performed using all ofthe channels in a particular system or only a portion of such channels.Thus, the n original channels shown in FIG. 3 may represent the completeset of channels in a system or only a subset of the channels in thesystem. Furthermore, the present invention needs not be limited tobroadcast system. Cross-channel error correction in accordance with thepresent invention may be realized in any system using multiple channelsfor data transmission.

The number of redundancy symbols produced for a given number of originalchannel symbols can vary depending on the error correction coding methodused and the level of redundancy desired. Generally speaking, a greaterthe level of redundancy corresponds to more error correction capabilityand more redundancy symbols produced for a given number of originalchannel symbols. In the example of the parity bit calculation encodingdescribed above, one error correction (redundancy) symbol 240 isproduced for every n symbols 238 sampled from the original channels,generating one redundancy data sequence 242 and one correspondingredundancy channel, channel n+1. Here, the number x has a value of 1.Other encoding techniques may produce x error correction symbol 240 fromthe n sampled symbols 238, where x is a number greater than one. Thisgenerates x redundancy data sequences 242 and corresponding redundancychannels n+1 through n+x, as shown in FIG. 3.

The level of redundancy and the choice of error correction coding methodused need not be fixed and in fact can be made to be adaptive tochanging conditions. In such an adaptive system, the error-proneness ofthe various RF channels may be observed and used as input to adjust thetype of error detection correction method and the level of redundancyused in cross-channel error correction encoding. Such error-pronenesscan be measured using various indicators, such as signal-to-noise ratio(SNR), signal-to-interference ratio (SIR), bit error rate (BER), and thelike.

Customer Premises Equipment (CPE)

FIG. 4 is a block diagram of the content distribution system 200, withemphasis on details of a new customer premises equipment (CPE) 215 inaccordance with one embodiment of the present invention. The CPE 215receives the RF channels 1 through n and the RF redundancy channels n+1through n+x originating from the CHE 210 and transmitted through themedium 212. The CPE 215 includes a multi-channel demodulation block 245,which performs demodulation of each of the RF channels, including the RFchannels 1 through n and the RF redundancy channels n+1 through n+x. Themulti-channel demodulation block 245 also carries out any in-channelerror correction decoding that may need to be performed on each of theoriginal channels 1 through n and the redundancy channels n+1 throughn+x. The output of the multi-channel demodulation block 245 is in theform of processed data that has components corresponding to everychannel, including the original channels 1 through n and the redundancychannels n+1 through n+x. The processed data is provided to across-channel error correction decoding block 248. As indicated above,the processed data is in demodulated form and may have also been decodedaccording to any applicable in-channel error correction scheme.

In addition to the processed data, the multi-channel demodulation block245 may also provide other information to the cross-channel errorcorrection decoding block 248. One important category of suchinformation is error detection data. Generally, error detection refersto the detection of whether error(s) have occurred and/or the locationof such error(s) within a portion of received data. In performingreceive functions such as carrier signal reception, demodulation, andin-channel error correction decoding, the multi-channel demodulationblock 245 may collect such information and provide it to thecross-channel error correction decoding block 248.

For example, if the multi-channel demodulation block 245 encounters anerror-indicating condition in the demodulation of one of the RF channels1 through n, the condition can be reported to the cross-channel errorcorrection decoding block 248. Such a condition may include the loss oflock of frequency, phase, or timing corresponding to a particular RFchannel. Such a condition may also include the loss of lock in thein-channel error correction decoding process for a particular channel.Depending on the implementation of the multi-channel demodulation block245, different error-indicating conditions may be available.Identification of these error-indicating conditions can provide a widerange of error detection data, such as (1) occurrence of errors on aparticular RF channel at particular moments in time, (2) the location oferrors within a particular RF channel, (3) the loss of an entire RFchannel such that all of the data in the RF channel is erroneous, and(4) others. Such information can be extremely useful to the functions ofthe cross-channel error correction decoding block 248.

Although FIG. 4 shows only one path connecting the multi-channeldemodulation block 245 and the cross-channel error correction decodingblock 248, it should be understood that the transfer of data from block245 to block 248 needs not be restricted to a single physical path. Forexample, the processed data corresponding to the original channels 1through n and the redundancy channel x may be transferred using a numberof parallel paths. Alternatively, the processed data can be transferredserially along a single path. Also, data other than the processed data,such as error detection data, may be transferred using separate paths.Error detection data may alternatively be interleaved into the processeddata and transferred together with the processed data. Error detectiondata may even be represented as a special operation performed on theprocessed data. An example of such a special operation is the conversionof all bits to “0” for processed data corresponding to a particular RFchannel when the entire RF channel is determined to be lost and all datafor the RF channel is known to be erroneous. As can be seen, theparticular technique used for transferring data from block 245 to block248 can be varied, depending on implementation. Similarly, transfer ofdata between other blocks can be performed in various ways and is notlimited by the representation of a single path between blocks shown inthe figures.

The cross-channel error correction decoding block 248 receives theprocessed data and available information relevant to error detectiondata from the multi-channel demodulation block 245. Using these inputs,the decoding block 248 performs cross-channel error correction decoding,which is described in more detail below, and outputs the resultingcorrected data to a program selection block 250. The program selectionblock 250 is controlled to select one or more of the multiple datastreams present in the corrected data. The selected data stream(s) arethen provided to the end user 230.

FIG. 5 is a block diagram of a particular implementation of themulti-channel demodulation block 245, cross-channel error correctiondecoding block 248, and the program selection block 250. Here, themulti-channel demodulation block 245 is configured as a set of separatedemodulators 502, for channels 1 through n+x. Each demodulator 502provides a processed signal to the cross-channel error correctiondecoding block 248, which produces the resulting corrected datacontaining multiple data streams. A program selector 504 provides aselection signal to the cross-channel error correction decoding block248. The selection signal indicates which one or more of the datastreams are selected to be output. The cross-channel error correctiondecoding block 248 outputs the selected data streams, according to theselection signal.

Cross-Channel Error Correction Decoding

The cross-channel error correction decoding block 248 performs thefunctions of error detection, error correction, or both error detectionand error correction. As mentioned above, error detection generallyrefers to the detection of whether error(s) have occurred and/or thelocation of such error(s) within a portion of received data. Errorcorrection generally refers to the removal or error(s) or thereconstruction of received data such that it becomes closer to itsoriginal state before error(s) occurred. The combination of errordetection and/or error correction performed by the cross-channel errorcorrection decoding block 248 can vary according to implementation.

A wide range of different error correction coding methods can be used incross-channel error correction, as already discussed. These include asimple parity bit calculation, a block code such as Reed-Solomon coding,or others. Depending on the particular coding method used, thecross-channel error correction decoding block 248 may perform itsfunctions in different ways. In some coding methods, error detection anderror correction are performed in a single step. In other codingmethods, error detection and error correction are performed in separatesteps. Also, in many coding methods, the performance of error detectionand/or error correction can be improved if some error detection data isalready known. For example, error detection data provided by themulti-channel demodulation block 245 can improve the performance of thecross-channel error correction decoding block 248 as it carries outerror detection, error correction, or both error detection and errorcorrection.

FIG. 6 illustrates cross-channel error correction decoding in accordancewith one embodiment of the present invention. This decoding process usesredundancy data provided by the redundancy channels n+l through n+x toperform error detection, error correction, or both error detection anderror correction to recover data in the original channels 1 through n.As discussed previously, the number x is a positive integer that canrange from one to an arbitrary value, depending on implementation. Theprocessed data provided by the multi-channel demodulation block 245contains data corresponding to each of the original channels 1 through nas well as the redundancy channels n+1 through n+x. Data correspondingto each of the original channels 1 through n is represented as a datasequence 252. Each data sequence 252 is made up of individual symbols255. Data corresponding to the redundancy channels n+1 through n+x isrepresented as data sequences 258. Each data sequence 258 is made up ofindividual symbols 260. As in the encoding process, the symbols 255 and260 can be selected from a binary alphabet or a non-binary alphabet.

The data sequences 252 and the data sequences 258 are aligned. Onesymbol 262 is sampled from each of the data sequences 252 according tothis alignment. One symbol 265 is sampled from each of the datasequences 258, also according to this alignment. Thus, each symbol 262represents a symbol sampled from a different original channel, and eachsymbol 265 represents a symbol sampled from a different redundancychannel. Note that in FIG. 6, the data sequence corresponding to theoriginal channel 2 is missing. This can illustrate that the processeddata corresponding to the original channel 2 is either unavailable orotherwise impaired. For instance, it may already be known that theoriginal channel 2 is corrupted with errors, given information providedby the multi-channel demodulation block 245 regarding the detection oferror-indicating conditions on channel 2. Alternatively, the absence ofthe original channel 2 in FIG. 6 can indicate a systematic process bywhich some or all of the channels are individually restored. In such ascenario, FIG. 6 merely indicates that channel 2 happens to be thechannel being restored at a particular point in such a systematicprocess.

In any case, FIG. 6 shows that cross-channel error correction decodingis used to reconstruct data in the original channel 2. The n−1 symbols262 from the available original channels (channels 1 through n, lesschannel 2) and the symbols 265 from the redundancy channels n+1 throughn+x are used in the decoding process to produce a reconstructed symbolfor the original channel 2. As discussed above, this decoding can be thedecoding technique associated with any one of a wide range of differenterror correction coding methods. For the purpose of illustration, only asimple parity bit calculation for decoding is discussed below,corresponding to the parity bit calculation for encoding alreadydescribed. Consistent with that encoding technique, symbols are selectedfrom a binary alphabet. That is, each symbol is a bit having a value ofeither “1” or “0.” The n−1 sampled symbols 262 from the different n−1available channels are represented as B₁, B₃, B₄ . . . , B_(n). In thisexample, there is only one redundancy channel, channel n+1. The onesampled symbol 265 from the redundancy channel n+1 is represented asB_(r). The reconstructed symbol for the missing original channel 2 isrepresented as B₂ and is generated according to the equation:B₂=B₁ ⊕ B₃ ⊕ B₄ ⊕ . . . B_(n) ⊕ B_(r)where the operator ⊕ represents the “XOR” operation. Thus, the n−1sampled symbols 262 from the n−1 available original channels and thesampled symbol 265 from the redundancy channel n+1 are used toreconstruct the a corresponding symbol for the missing original channel2.

The process of sampling from each of the n−1 available channels and theredundancy channel n+1 and performing error correction decoding togenerate a reconstructed symbol for channel 2 is repeated. Each time theprocess is repeated, a new set of n−1 symbols 262 and a new symbol 265is sampled, and a symbol for channel 2 is reconstructed. Thereconstructed symbols are concatenated to form an new data sequence thatrepresents the reconstructed channel 2. In this manner, error correctionis performed such that channel 2 can be completely reconstructed fromoriginal channels 1, 3, 4, . . . , n and the redundancy channel n+1.

Cross-channel error correction may correct a wide variety of differenttypes of error. Although FIG. 6 illustrates the continuousreconstruction of an entire channel, cross-channel error correction isnot limited to this type of error correction. For example, errorcorrection can be successively performed for different channels. Thatis, one error correction step may reconstruct a symbol for channel 2,and the next error correction step may reconstruct a symbol for channel7. Thus, the present invent may be used to correct errors caused byfrequency-related interference appearing at different frequencies atdifferent times. Cross-channel error correction performed on differentchannels is well suited to unpredictable and sporadic interferencecommon in real world environments.

The capabilities of cross-channel error correction depends on the typeof error correction coding method used. The bit parity calculation shownabove as an illustrative example can reconstruct a single channel. Othererror correction coding methods are capable of handling error on morethan one channel. If such other methods are used, more than one missingchannel can be reconstructed. Accordingly, it should be clear that FIG.6, which only shows one channel to be missing, is merely an illustrativeexample and is not intended to limit the scope of the present invention.

The bit parity calculation shown above as an illustrative example alsodoes not detect the existence or location of error(s). The technique isonly capable of reconstructing a channel if it is know which channelneeds to be reconstructed. Thus, the technique relies on information,such as the error-indicating conditions described previously, foridentification of the channel on which error(s) exist.

Other error correction coding methods are capable of detecting theexistence and/or location of errors. Using such other methods, theexistence and/or location of errors can first be detected, then theerrors can be corrected. Nevertheless, such other error correctioncoding methods may still take advantage of the error-indicatingconditions described previously. For example, a specific Reed-Solomoncode may be able to detect the location of one error and also correctthe error. Alternatively, the same Reed-Solomon code may be able tocorrect two errors, if the location of the errors are known. Thus, if anerror-indicating condition (e.g. a loss of lock of frequency, phase, ortiming associated with two RF channels) indicates the location of theerrors (e.g. the two symbols corresponding to the two RF channelsexperiencing loss of lock), the Reed-Solomon code would be able tocorrect both errors because it the location of each of the two errors isknown. Without utilizing the error-indicating condition, the same ReedSolomon code would only be able to locate one error and correct thaterror.

As is the case in cross-channel error correction encoding, cross-channelerror correction decoding can be performed as the symbols of theoriginal channels are made available. Alternatively, such decoding canbe performed all at once, if all of the symbols of an entire portion oftransmission of the received original channels used in decoding areavailable at one time. Depending on the implementation, differenttechniques can be used for carrying out cross-channel error correctiondecoding.

Although the present invention has been described in terms of specificembodiments, it should be apparent to those skilled in the art that thescope of the present invention is not limited to the described specificembodiments.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that additions, subtractions, substitutions, and othermodifications may be made without departing from the broader spirit andscope of the invention as set forth in the claims.

1. A method for providing redundancy to multi-channel data transmissioncomprising: selecting a portion of original data from each of aplurality of original channels adapted to transmission through acommunication medium; performing at least one encoding operation usingsaid portions of original data to produce at least one portion ofredundancy data; including said portion of redundancy data in at leastone redundancy channel; and transmitting said redundancy channel alongwith said original channels through said communication medium.
 2. Themethod of claim 1 wherein said selecting, performing, and includingsteps are repeated before said transmitting step.
 3. The method of claim1 further comprising the step of: while performing said transmittingstep, repeating said selecting, performing, and including steps.
 4. Themethod of claim 1 wherein said encoding operation corresponds to aparity bit calculation.
 5. The method of claim 1 wherein said encodingoperation corresponds to a block code.
 6. The method of claim 5 whereinsaid block code is a Reed-Solomon code.
 7. The method of claim 1 whereinan adaptively controlled level of redundancy is used to perform saidencoding operation, said level of redundancy being adaptively controlledaccording to at least one measure of error-proneness associated withsaid original channels.
 8. The method of claim 7 wherein said measure oferror-proneness is a signal-to-noise ratio (SNR), signal-to-interferenceratio (SIR), or bit error rate (BER).
 9. A method for correcting errorin multi-channel data transmission having redundancy, the methodcomprising: receiving at least one redundancy channel and a number oforiginal channels belonging to a plurality of original channels, said atleast one redundancy channel and said plurality of original channelsbeing transmitted over a communication medium; selecting a portion ofredundancy data from said redundancy channel; selecting a portion oforiginal data from each of said number of original channels; andperforming at least one decoding operation using said portion ofredundancy data and said portions of original data to correct at leastone error in said plurality of original channels.
 10. The method ofclaim 9 wherein said step for performing at least one decoding operationcomprises the step of: detecting the existence of at least one error.11. The method of claim 10 wherein said step for detecting the existenceof at least one error comprises the step of: monitoring at least oneerror-indicating condition during said receiving step.
 12. The method ofclaim 11 wherein said error-indicating condition relates to carriersignal reception.
 13. The method of claim 11 wherein saiderror-indicating condition relates to demodulation.
 14. The method ofclaim 11 wherein said error-indicating condition relates to in-channelerror correction decoding.
 15. The method of claim 9 wherein said stepfor performing at least one decoding operation comprises the step of:detecting the location of at least one error.
 16. The method of claim 15wherein said step for detecting the location of at least one errorcomprises the step of: monitoring at least one error-indicatingcondition during said receiving step.
 17. The method of claim 16 whereinsaid error-indicating condition relates to carrier signal reception. 18.The method of claim 16 wherein said error-indicating condition relatesto demodulation.
 19. The method of claim 16 wherein saiderror-indicating condition relates to in-channel error correctiondecoding.
 20. The method of claim 9 wherein said step for performing atleast one decoding operation further comprises the step of: correctingat least one error.
 21. The method of claim 9 wherein said steps forselecting a portion of redundancy data, selecting a portion of originaldata, and performing at least one decoding operation are repeated aftersaid receiving step.
 22. The method of claim 9 wherein said steps forselecting a portion of redundancy data, selecting a portion of originaldata, and performing at least one decoding operation are repeated whileperforming said receiving step.
 23. The method of claim 9 wherein saiddecoding operation corresponds to a parity bit calculation.
 24. Themethod of claim 9 wherein said decoding operation corresponds to a blockcode.
 25. The method of claim 24 wherein said block code is aReed-Solomon code.
 26. The method of claim 1 or 9 wherein said portionsof original data are selected from a common position within theirrespective original channels.
 27. The method of claim 1 or 9 whereineach said portion of original data consists of a bit.
 28. The method ofclaim 1 or 9 wherein each said portion of original data consists of anon-binary symbol.
 29. The method of claim 1 or 9 wherein saidcommunication medium is cable-based.
 30. The method of claim 1 or 9wherein said communication medium is satellite-based.
 31. The method ofclaim 1 or 9 wherein said communication medium is terrestrial.
 32. Themethod of claim 1 or 9 wherein said original channels contain audio,video, and/or data signals.
 33. A system for providing redundancy tomulti-channel data transmission comprising: means for selecting aportion of original data from each of a plurality of original channelsadapted to transmission over a communication medium; means forperforming at least one encoding operation using said portions oforiginal data to produce at least one portion of redundancy data; meansfor including said portion of redundancy data in at least one redundancychannel; and means for transmitting said redundancy channel along withsaid original channels in said communication medium.
 34. A system forcorrecting error in multi-channel data transmission having redundancy,the system comprising: means for receiving at least one redundancychannel and a plurality of original channels transmitted over acommunication medium; means for selecting a portion of redundancy datafrom said redundancy channel; means for selecting a portion of originaldata from each of said original channels; and means for performing atleast one decoding operation using said portion of redundancy data andsaid portions of original data to correct at least one error in saidportions of original data.